package avicit.bdp.dgs.mdm.dto;

import avicit.bdp.common.base.BaseDTO;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-12-04
 * @类说明：TopicDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：主题DTO
 */
@ApiModel(value = "TopicDTO", description = "主题DTO")
@Table(name = "bdp_dgs_mdm_topic")
public class TopicDTO extends BaseDTO {
    /**
     * 主键
     */
    @Id
    @LogField
    @ApiModelProperty(value = "id", name = "id")
    @FieldRemark(column = "id", field = "id", name = "主键")
    @javax.persistence.Id
    @Column(name = "id")
    private String id;

    /**
     * 名称
     */
    @LogField
    @ApiModelProperty(value = "名称", name = "name")
    @FieldRemark(column = "name", field = "name", name = "名称")
    @Column(name = "name")
    private String name;

    /**
     * 编码
     */
    @LogField
    @ApiModelProperty(value = "code", name = "编码")
    @FieldRemark(column = "code", field = "code", name = "编码")
    @Column(name = "code")
    private String code;

    /**
     * 状态，0：未启用，1：启用
     */
    @LogField
    @ApiModelProperty(value = "状态，0：未启用，1：启用", name = "status")
    @FieldRemark(column = "status", field = "status", name = "状态，0：未启用，1：启用")
    @Column(name = "status")
    private Integer status;
    @Transient
    private String statusName;


    /**
     * 备注
     */
    @LogField
    @ApiModelProperty(value = "备注", name = "remark")
    @FieldRemark(column = "remark", field = "remark", name = "备注")
    @Column(name = "remark")
    private String remark;

    /**
     * 排序
     */
    @LogField
    @ApiModelProperty(value = "排序", name = "orderBy")
    @FieldRemark(column = "order_by", field = "orderBy", name = "排序")
    @Column(name = "order_by")
    private Integer orderBy;

    @Transient
    private String userName;

    @Transient
    private List<TopicDTO> children;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(Integer orderBy) {
        this.orderBy = orderBy;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public List<TopicDTO> getChildren() {
        return children;
    }

    public void setChildren(List<TopicDTO> children) {
        this.children = children;
    }
}
